package com.ctcemti.mdm.project.sys.service;

import com.ctcemti.mdm.project.sys.entity.ResEntElementTree;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IResEntElementTreeService {

    /**
     * @Author pzw
     * @Description 查询企业级ebs树
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    List<ResEntElementTree> selectAllResEntElementTree(ResEntElementTree resEntElementTree);
    /**
     * @Author pzw
     * @Description 通过id查询实体
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    ResEntElementTree queryResEntElementTreeByID(ResEntElementTree resEntElementTree);

    /**
     * @Author pzw
     * @Description 插入
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int insertResEntElementTreeByID(ResEntElementTree resEntElementTree);

    /**
     * @Author pzw
     * @Description 修改
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int updateResEntElementTreeByID(ResEntElementTree resEntElementTree);

    /**
     * @Author pzw
     * @Description 删除
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int deleteResEntElementTreeByID(Integer[] ids);

    /**
     * @Author pzw
     * @Description 移动
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int moveResEntElementTree(ResEntElementTree resEntElementTree);

    /**
     * @Author 同步工法库
     * @Description 移动
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int syncResEntElementTree(ResEntElementTree resEntElementTree);

    /**
     * @Author 导入文件
     * @Description 移动
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    Map<String,Object> uploadFile(MultipartFile multipartFile, String disciplinesId, HttpServletResponse response,HttpServletRequest request) throws IOException;

    /**
     * @Author Ebs编码是否存在
     * @Description 移动
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int queryEBSCodeHasExist(ResEntElementTree resEntElementTree);

    /**
     * @Author 获取最大层级
     * @Description 移动
     * @Date 11:39 2019/7/22
     * @Param
     * @return
     **/
    int getMaxHierarchy(ResEntElementTree resEntElementTree);
}
